Apache POI ব্যবহার করে PowerPoint ফাইলের স্লাইডে টেবিল (table) যোগ করা এবং তা ম্যানিপুলেট করা সম্ভব। Apache POI এর XSLF API দিয়ে আপনি টেবিল তৈরি, কনফিগার এবং কাস্টমাইজ করতে পারবেন। এই টেবিলগুলো ব্যবহার করা যেতে পারে স্লাইডে ডেটা প্রদর্শন, রিপোর্ট তৈরি, অথবা বিভিন্ন আউটপুট ফলাফল প্রদর্শন করার জন্য।
এই গাইডে, আমরা দেখব কিভাবে Apache POI ব্যবহার করে PowerPoint স্লাইডে টেবিল ম্যানিপুলেশন করা যায়।
Apache POI এর মাধ্যমে PowerPoint স্লাইডে Table যোগ করার জন্য আমরা XSLFTable, XSLFTableRow, এবং XSLFTableCell ক্লাস ব্যবহার করতে পারি।
প্রথমে, আপনার প্রোজেক্টে Apache POI লাইব্রেরি যোগ করতে হবে। এজন্য Maven ব্যবহার করা যেতে পারে। আপনার pom.xml
ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version> <!-- সর্বশেষ সংস্করণ ব্যবহার করুন -->
</dependency>
</dependencies>
এখন আমরা একটি নতুন PowerPoint স্লাইড তৈরি করব এবং তাতে একটি টেবিল যুক্ত করব।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableRow;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class TableExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint স্লাইড শো তৈরি করুন
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করুন
XSLFSlide slide = ppt.createSlide();
// টেবিল তৈরি করা (৩টি সারি, ৩টি কলাম)
XSLFTable table = slide.createTable();
table.setAnchor(new java.awt.Rectangle(50, 50, 500, 300)); // টেবিলের অবস্থান এবং আকার
// প্রথম সারি (হেডার)
XSLFTableRow row1 = table.addRow();
XSLFTableCell cell1 = row1.addCell();
cell1.setText("Header 1");
cell1.setFillColor(Color.LIGHT_GRAY);
XSLFTableCell cell2 = row1.addCell();
cell2.setText("Header 2");
cell2.setFillColor(Color.LIGHT_GRAY);
XSLFTableCell cell3 = row1.addCell();
cell3.setText("Header 3");
cell3.setFillColor(Color.LIGHT_GRAY);
// দ্বিতীয় সারি
XSLFTableRow row2 = table.addRow();
XSLFTableCell cell4 = row2.addCell();
cell4.setText("Data 1");
XSLFTableCell cell5 = row2.addCell();
cell5.setText("Data 2");
XSLFTableCell cell6 = row2.addCell();
cell6.setText("Data 3");
// তৃতীয় সারি
XSLFTableRow row3 = table.addRow();
XSLFTableCell cell7 = row3.addCell();
cell7.setText("Data 4");
XSLFTableCell cell8 = row3.addCell();
cell8.setText("Data 5");
XSLFTableCell cell9 = row3.addCell();
cell9.setText("Data 6");
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("table_example.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint টেবিল তৈরি হয়েছে!");
}
}
এখানে, আমরা একটি PowerPoint স্লাইড তৈরি করেছি এবং তাতে ৩টি সারি এবং ৩টি কলামের একটি টেবিল যোগ করেছি। এছাড়াও, Header সেলে লাইট গ্রে ব্যাকগ্রাউন্ড রঙ ব্যবহার করা হয়েছে।
আপনি টেবিলের সেল কাস্টমাইজ করতে পারেন যেমন টেক্সট ফন্ট, সেল রঙ, সেল সীমানা ইত্যাদি।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableRow;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class TableCellCustomizationExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint স্লাইড শো তৈরি করুন
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করুন
XSLFSlide slide = ppt.createSlide();
// টেবিল তৈরি করা
XSLFTable table = slide.createTable();
table.setAnchor(new java.awt.Rectangle(50, 50, 500, 300));
// প্রথম সারি (হেডার)
XSLFTableRow row1 = table.addRow();
XSLFTableCell cell1 = row1.addCell();
cell1.setText("Header 1");
cell1.setFillColor(Color.LIGHT_GRAY);
cell1.setFontColor(Color.RED); // সেল ফন্ট রঙ
XSLFTableCell cell2 = row1.addCell();
cell2.setText("Header 2");
cell2.setFillColor(Color.LIGHT_GRAY);
cell2.setFontColor(Color.GREEN); // সেল ফন্ট রঙ
XSLFTableCell cell3 = row1.addCell();
cell3.setText("Header 3");
cell3.setFillColor(Color.LIGHT_GRAY);
cell3.setFontColor(Color.BLUE); // সেল ফন্ট রঙ
// দ্বিতীয় সারি (ডেটা)
XSLFTableRow row2 = table.addRow();
XSLFTableCell cell4 = row2.addCell();
cell4.setText("Data 1");
XSLFTableCell cell5 = row2.addCell();
cell5.setText("Data 2");
XSLFTableCell cell6 = row2.addCell();
cell6.setText("Data 3");
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("table_customization_example.pptx")) {
ppt.write(out);
}
System.out.println("Customized Table Slide তৈরি হয়েছে!");
}
}
এখানে, আমরা Font Color সেট করেছি প্রতিটি সেলে, যেমন হেডার সেলগুলোতে আলাদা ফন্ট রঙ দেওয়া হয়েছে।
টেবিলের আকার এবং পজিশন নির্ধারণ করার জন্য আপনি setAnchor() ব্যবহার করতে পারেন।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableRow;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import java.awt.Rectangle;
import java.io.FileOutputStream;
import java.io.IOException;
public class TablePositionSizeExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint স্লাইড শো তৈরি করুন
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করুন
XSLFSlide slide = ppt.createSlide();
// টেবিল তৈরি করা
XSLFTable table = slide.createTable();
table.setAnchor(new Rectangle(100, 100, 400, 200)); // টেবিলের পজিশন এবং আকার
// প্রথম সারি (হেডার)
XSLFTableRow row1 = table.addRow();
XSLFTableCell cell1 = row1.addCell();
cell1.setText("Header 1");
XSLFTableCell cell2 = row1.addCell();
cell2.setText("Header 2");
XSLFTableCell cell3 = row1.addCell();
cell3.setText("Header 3");
// দ্বিতীয় সারি (ডেটা)
XSLFTableRow row2 = table.addRow();
XSLFTableCell cell4 = row2.addCell();
cell4.setText("Data 1");
XSLFTableCell cell5 = row2.addCell();
cell5.setText("Data 2");
XSLFTableCell cell6 = row2.addCell();
cell6.setText("Data 3");
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("table_position_size_example.pptx")) {
ppt.write(out);
}
System.out.println("Table Position and Size Slide তৈরি হয়েছে!");
}
}
এখানে, আমরা setAnchor() মেথড ব্যবহার করে টেবিলের পজিশন এবং আকার নিয়ন্ত্রণ করেছি।
Apache POI এর মাধ্যমে আপনি PowerPoint স্লাইডে টেবিল তৈরি এবং ম্যানিপুলেট করতে পারেন। XSLFTable, XSLFTableRow, এবং XSLFTableCell ক্লাসের মাধ্যমে আপনি টেবিলের শেপ, সেল কনটেন্ট, ফন্ট, রঙ, আকার এবং পজিশন পরিবর্তন করতে পারবেন। টেবিল ম্যানিপুলেশন সম্ভবত Data Presentation বা Reporting ফিচারের জন্য ব্যবহৃত হতে পারে, যেমন ব্যবসায়িক প্রেজেন্টেশন বা শিক্ষামূলক উপস্থাপনা।
এই প্রক্রিয়া Apache POI ব্যবহার করে PowerPoint ফাইলের কাস্টমাইজেশনকে সহজ এবং কার্যকর করে তোলে।
Apache POI ব্যবহার করে আপনি PowerPoint ফাইলে টেবিল তৈরি এবং সেল যোগ করতে পারেন। Apache POI-তে XSLF API ব্যবহার করে আপনি টেবিল তৈরি করতে পারবেন এবং প্রতিটি সেলে ডেটা যোগ করতে পারবেন। নিচে PowerPoint ফাইলে একটি টেবিল তৈরি করার এবং সেল যোগ করার একটি উদাহরণ দেওয়া হলো।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class AddTableExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint ফাইল তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// টেবিল তৈরি করা (3x3 টেবিল)
XSLFTable table = slide.createTable();
table.setAnchor(new java.awt.Rectangle(100, 100, 400, 300)); // টেবিলের অবস্থান এবং আকার
// 3টি সারি এবং 3টি কলাম তৈরি করা
for (int row = 0; row < 3; row++) {
for (int col = 0; col < 3; col++) {
XSLFTableCell cell = table.getCell(row, col);
cell.setText("Cell " + (row + 1) + "," + (col + 1)); // সেলে টেক্সট যোগ করা
// সেলের সীমানা কাস্টমাইজ করা
cell.setBorderColor(Color.BLACK);
cell.setFillColor(Color.LIGHT_GRAY);
}
}
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("addTableExample.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint file with table created successfully!");
}
}
createTable()
মেথডের মাধ্যমে স্লাইডে টেবিল তৈরি করতে পারেন।new java.awt.Rectangle(100, 100, 400, 300)
এর মানে হল যে টেবিলটি (100, 100) পজিশনে শুরু হবে এবং এর আকার হবে 400x300 পিক্সেল।getCell(row, col)
মেথড ব্যবহার করে সেল এক্সেস করছেন। এই কোডে 3x3 টেবিল তৈরি করা হয়েছে।রঙ এবং ফন্ট কাস্টমাইজ করা: আপনি সেলগুলির ফন্ট এবং রঙ কাস্টমাইজ করতে পারেন।
XSLFTextRun textRun = cell.getTextParagraphs().get(0).getTextRuns().get(0);
textRun.setFontColor(Color.BLUE); // ফন্টের রঙ পরিবর্তন
textRun.setFontSize(12.0); // ফন্ট সাইজ সেট করা
রেখা (Border) কাস্টমাইজেশন: সেলের সীমানা (বর্ডার) কাস্টমাইজ করার জন্য:
cell.setBorderColor(Color.RED); // সীমানার রঙ পরিবর্তন
কাস্টম সেল সাইজ: সেলগুলির আকার কাস্টমাইজ করতে:
cell.setRowHeight(30.0); // সেলের উচ্চতা পরিবর্তন
cell.setColumnWidth(150.0); // সেলের প্রস্থ পরিবর্তন
Apache POI-তে বিভিন্ন শেপ যেমন আয়তক্ষেত্র (Rectangle), ডিম্বাকৃতি (Oval), এবং রেখা (Line) যুক্ত করার মতো টেবিলের সেলেও শেপ যোগ করা যেতে পারে। এইভাবে আপনি আপনার PowerPoint টেবিলের মধ্যে গ্রাফিক্স, চিত্র বা অন্যান্য উপাদান যুক্ত করতে পারবেন।
Apache POI ব্যবহার করে আপনি PowerPoint ফাইলে টেবিল তৈরি এবং সেল যোগ করতে পারেন। উপরের উদাহরণে একটি 3x3 টেবিল তৈরি করা হয়েছে, এবং প্রতিটি সেলে টেক্সট, সীমানা এবং ব্যাকগ্রাউন্ড রঙ কাস্টমাইজ করা হয়েছে। টেবিলের সেলগুলিতে ফন্ট, সীমানা, আকার, এবং রঙ কাস্টমাইজেশন সহজেই করা সম্ভব, যা PowerPoint প্রেজেন্টেশনের গ্রাফিক্যাল উপাদানগুলির কার্যকারিতা এবং দৃশ্যমানতা উন্নত করতে সহায়ক।
অ্যাপাচি পিওআই (Apache POI) একটি Java লাইব্রেরি যা Microsoft Office ফাইল ম্যানিপুলেশন (যেমন PowerPoint, Excel, Word) সহজ করে। Apache POI ব্যবহার করে আপনি PowerPoint ফাইল তৈরি এবং সম্পাদনা করতে পারবেন। এর মধ্যে table তৈরি করা অন্যতম একটি গুরুত্বপূর্ণ ফিচার, যেখানে row (সারি) এবং column (স্তম্ভ) যোগ বা কমানোর ক্ষমতা রয়েছে।
PowerPoint স্লাইডে টেবিল (Table) তৈরি করার জন্য Apache POI XSLFTable এবং তার মধ্যে XSLFTableRow ও XSLFTableCell ব্যবহার করে থাকে। টেবিলের row এবং column এর সংখ্যা বৃদ্ধি বা হ্রাস করার জন্য আপনাকে এই কনটেইনারগুলো পরিচালনা করতে হবে।
এখানে PowerPoint স্লাইডে টেবিল তৈরি এবং এর row ও column সংখ্যা বাড়ানো বা কমানোর উদাহরণ দেওয়া হবে।
আপনার pom.xml ফাইলে নিচের ডিপেনডেন্সি যোগ করুন।
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version> <!-- সর্বশেষ সংস্করণ -->
</dependency>
এখানে একটি উদাহরণ দেওয়া হলো, যেখানে একটি টেবিল তৈরি করা হচ্ছে এবং তার row এবং column সংখ্যা কিভাবে বাড়ানো বা কমানো যায় তা দেখানো হয়েছে।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableRow;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import java.awt.Rectangle;
import java.io.FileOutputStream;
import java.io.IOException;
public class PowerPointTableExample {
public static void main(String[] args) throws IOException {
// নতুন PowerPoint ফাইল তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি
XSLFSlide slide = ppt.createSlide();
// একটি টেবিল তৈরি (3 rows এবং 4 columns)
XSLFTable table = slide.createTable();
table.setAnchor(new Rectangle(50, 50, 500, 300)); // টেবিলের অবস্থান ও আকার
// প্রথম row তৈরি (4 columns)
XSLFTableRow row1 = table.addRow();
for (int i = 0; i < 4; i++) {
XSLFTableCell cell = row1.addCell();
cell.setText("Row 1, Col " + (i + 1));
}
// দ্বিতীয় row তৈরি (4 columns)
XSLFTableRow row2 = table.addRow();
for (int i = 0; i < 4; i++) {
XSLFTableCell cell = row2.addCell();
cell.setText("Row 2, Col " + (i + 1));
}
// তৃতীয় row তৈরি (4 columns)
XSLFTableRow row3 = table.addRow();
for (int i = 0; i < 4; i++) {
XSLFTableCell cell = row3.addCell();
cell.setText("Row 3, Col " + (i + 1));
}
// টেবিলের row সংখ্যা বৃদ্ধি
XSLFTableRow newRow = table.addRow(); // নতুন row যোগ করা হচ্ছে
for (int i = 0; i < 4; i++) {
XSLFTableCell cell = newRow.addCell();
cell.setText("New Row, Col " + (i + 1));
}
// টেবিলের column সংখ্যা কমানো (এটা একটু ট্রিকি, কারণ POI-তে Row-র মাধ্যমে কলাম কমানো সরাসরি সম্ভব নয়)
// তবে, আপনি একটি নির্দিষ্ট row থেকে কলাম বাদ দিতে পারেন অথবা নতুন row দিয়ে কলাম সংখ্যা পুনরায় কমাতে পারেন।
// PowerPoint ফাইল সংরক্ষণ
try (FileOutputStream out = new FileOutputStream("example_with_table.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint ফাইল তৈরি করা হয়েছে এবং টেবিলের row এবং column সংখ্যা বৃদ্ধি করা হয়েছে।");
}
}
Apache POI এ column সরাসরি কমানোর কোনো মেথড নেই, তবে আপনি row সংখ্যা হ্রাস করতে পারেন। আপনি যদি চান যে কিছু columns হ্রাস পাক, তাহলে আপনাকে স্লাইডের row থেকে কিছু cell বাদ দিতে হবে অথবা নতুন একটি row তৈরি করে আগের row গুলো পুনরায় সাজাতে হবে।
একটি row-এর column কমাতে, আপনি সেই row এর নির্দিষ্ট cell গুলো পরিবর্তন করতে পারেন অথবা যেকোনো row সরিয়ে ফেলা বা পুনর্গঠন করতে পারেন।
অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে আপনি PowerPoint ফাইলের স্লাইডে টেবিল তৈরি করতে পারেন এবং সেই টেবিলের row এবং column সংখ্যা বৃদ্ধি বা হ্রাস করতে পারেন। XSLFTable ব্যবহার করে নতুন row এবং column যোগ করা সহজ, তবে column সংখ্যা সরাসরি কমানোর জন্য আপনাকে row পুনর্গঠন করতে হতে পারে। এই টুলটি PowerPoint ফাইল তৈরি, সম্পাদনা এবং কনটেন্ট ম্যানিপুলেশনকে সহজ এবং কার্যকরী করে তোলে।
Apache POI ব্যবহার করে PowerPoint স্লাইডে টেবিল তৈরি এবং তার ভিতরে ডেটা ইনসার্ট করা একটি সহজ কাজ। আপনি XSLF API ব্যবহার করে স্লাইডে টেবিল তৈরি করতে পারেন এবং টেবিলের প্রতিটি সেলে ডেটা যোগ করতে পারেন।
এই লেখায় আমরা দেখব কিভাবে Apache POI এর মাধ্যমে PowerPoint স্লাইডে টেবিল তৈরি এবং তার ভিতরে ডেটা ইনসার্ট করা যায়।
PowerPoint স্লাইডে টেবিল তৈরি করতে প্রথমে আপনাকে একটি XSLFTable অবজেক্ট তৈরি করতে হবে। তারপর, টেবিলের প্রতিটি সেলে ডেটা ইনসার্ট করতে হবে। নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি PowerPoint স্লাইডে একটি টেবিল তৈরি করা হয়েছে এবং তার ভিতরে ডেটা যোগ করা হয়েছে।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import org.apache.poi.sl.usermodel.Table;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class TableInsertDataExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint স্লাইডশো তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি
XSLFSlide slide = ppt.createSlide();
// টেবিলের জন্য 3 সারি এবং 3 কলাম নির্ধারণ
XSLFTable table = slide.createTable();
table.setAnchor(new java.awt.Rectangle(50, 50, 400, 200)); // টেবিলের অবস্থান ও আকার
// টেবিলের প্রথম সারির সেলসমূহে ডেটা ইনসার্ট করা
XSLFTableCell cell00 = table.getCell(0, 0);
cell00.setText("Header 1");
cell00.setFillColor(Color.LIGHT_GRAY);
XSLFTableCell cell01 = table.getCell(0, 1);
cell01.setText("Header 2");
cell01.setFillColor(Color.LIGHT_GRAY);
XSLFTableCell cell02 = table.getCell(0, 2);
cell02.setText("Header 3");
cell02.setFillColor(Color.LIGHT_GRAY);
// টেবিলের দ্বিতীয় সারির সেলসমূহে ডেটা ইনসার্ট করা
XSLFTableCell cell10 = table.getCell(1, 0);
cell10.setText("Row 1, Col 1");
XSLFTableCell cell11 = table.getCell(1, 1);
cell11.setText("Row 1, Col 2");
XSLFTableCell cell12 = table.getCell(1, 2);
cell12.setText("Row 1, Col 3");
// টেবিলের তৃতীয় সারির সেলসমূহে ডেটা ইনসার্ট করা
XSLFTableCell cell20 = table.getCell(2, 0);
cell20.setText("Row 2, Col 1");
XSLFTableCell cell21 = table.getCell(2, 1);
cell21.setText("Row 2, Col 2");
XSLFTableCell cell22 = table.getCell(2, 2);
cell22.setText("Row 2, Col 3");
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("table_in_powerpoint.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint স্লাইডে টেবিল সফলভাবে ইনসার্ট করা হয়েছে!");
}
}
Apache POI ব্যবহার করে আপনি টেবিলের সেলগুলো কাস্টমাইজ করতে পারেন, যেমন:
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTable;
import org.apache.poi.xslf.usermodel.XSLFTableCell;
import org.apache.poi.sl.usermodel.TextParagraph;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class TableCellCustomizationExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint স্লাইডশো তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি
XSLFSlide slide = ppt.createSlide();
// টেবিলের জন্য 2 সারি এবং 3 কলাম নির্ধারণ
XSLFTable table = slide.createTable();
table.setAnchor(new java.awt.Rectangle(50, 50, 400, 150)); // টেবিলের অবস্থান ও আকার
// প্রথম সারির সেলে Font Style এবং Alignment পরিবর্তন
XSLFTableCell cell00 = table.getCell(0, 0);
cell00.setText("Header 1");
cell00.setFillColor(Color.LIGHT_GRAY);
TextParagraph p0 = cell00.getTextParagraphs().get(0);
p0.setAlignment(TextParagraph.Align.CENTER); // টেক্সট সেন্টারে করা
// দ্বিতীয় সারির সেলে Font Style এবং Alignment পরিবর্তন
XSLFTableCell cell10 = table.getCell(1, 0);
cell10.setText("Data 1");
TextParagraph p1 = cell10.getTextParagraphs().get(0);
p1.setAlignment(TextParagraph.Align.LEFT); // টেক্সট বামদিকে করা
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("customized_table.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint স্লাইডে কাস্টমাইজড টেবিল ইনসার্ট করা হয়েছে!");
}
}
Apache POI ব্যবহার করে PowerPoint স্লাইডে টেবিল তৈরি এবং তার ভিতরে ডেটা ইনসার্ট করা একটি শক্তিশালী ফিচার। আপনি টেবিলের সেলগুলোতে বিভিন্ন ধরনের ডেটা, ফরম্যাটিং, এবং কাস্টম স্টাইল অ্যাপ্লাই করতে পারেন। এছাড়া, Font Style, Text Alignment, Cell Background Color এবং Borders কাস্টমাইজ করে আপনি একটি পেশাদার এবং আকর্ষণীয় টেবিল তৈরি করতে পারবেন যা আপনার প্রেজেন্টেশনে ব্যবহার করা যাবে।
অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে PowerPoint (PPTX) ফাইলের মধ্যে Table ফরম্যাটিং করা সম্ভব। টেবিলের মধ্যে আপনি বর্ডার, ব্যাকগ্রাউন্ড, এবং টেক্সট ফরম্যাটিং করতে পারবেন। এভাবে টেবিলের চেহারা এবং কনটেন্ট কাস্টমাইজ করা যায়, যাতে প্রেজেন্টেশনটি আরও আকর্ষণীয় এবং পেশাদার হয়।
এখানে Table Formatting এর জন্য Border, Background এবং Text Formatting এর উদাহরণ দেওয়া হলো।
PowerPoint ফাইলে টেবিল তৈরি করতে এবং ফরম্যাটিং করতে XSLFTable
ব্যবহার করা হয়। এই টেবিলের মধ্যে আপনি সারি (rows) এবং কলাম (columns) যোগ করতে পারেন এবং প্রতিটি সেলে টেক্সট, ব্যাকগ্রাউন্ড এবং বর্ডার ফরম্যাট করতে পারেন।
import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.*;
import java.awt.*;
import java.io.*;
public class TableFormattingExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// টেবিল তৈরি করা (2 সারি এবং 3 কলাম)
XSLFTable table = slide.createTable();
table.setAnchor(new java.awt.Rectangle(50, 50, 500, 200)); // টেবিলের অবস্থান
// প্রথম সারি তৈরি করা
XSLFTableRow row1 = table.addRow();
XSLFTableCell cell1 = row1.addCell();
cell1.setText("Header 1");
XSLFTableCell cell2 = row1.addCell();
cell2.setText("Header 2");
XSLFTableCell cell3 = row1.addCell();
cell3.setText("Header 3");
// দ্বিতীয় সারি তৈরি করা
XSLFTableRow row2 = table.addRow();
XSLFTableCell cell4 = row2.addCell();
cell4.setText("Row 1, Col 1");
XSLFTableCell cell5 = row2.addCell();
cell5.setText("Row 1, Col 2");
XSLFTableCell cell6 = row2.addCell();
cell6.setText("Row 1, Col 3");
// টেবিলের ফরম্যাটিং (বর্ডার, ব্যাকগ্রাউন্ড, টেক্সট)
formatTable(table);
// PowerPoint ফাইল সংরক্ষণ করা
try (FileOutputStream out = new FileOutputStream("table_formatted.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint ফাইল সফলভাবে তৈরি হয়েছে!");
}
// টেবিলের ফরম্যাটিং (বর্ডার, ব্যাকগ্রাউন্ড, টেক্সট)
private static void formatTable(XSLFTable table) {
// প্রতিটি সেলের জন্য ফরম্যাটিং করা
for (XSLFTableRow row : table) {
for (XSLFTableCell cell : row) {
// সেলের টেক্সট ফরম্যাটিং
XSLFTextParagraph paragraph = cell.getTextParagraphs().get(0);
XSLFTextRun run = paragraph.getTextRuns().get(0);
run.setFontSize(14.0);
run.setFontFamily("Arial");
run.setBold(true);
// সেলের ব্যাকগ্রাউন্ড ফরম্যাটিং
cell.setFillColor(new Color(210, 210, 255)); // হালকা নীল ব্যাকগ্রাউন্ড
// সেলের বর্ডার ফরম্যাটিং
cell.setBorderColor(BorderEdge.BOTTOM, new Color(0, 0, 0)); // কালো বর্ডার
cell.setBorderWidth(BorderEdge.BOTTOM, 1.0); // বর্ডারের প্রস্থ
// বাকি বর্ডারগুলির ফরম্যাটিং
cell.setBorderColor(BorderEdge.TOP, new Color(0, 0, 0));
cell.setBorderWidth(BorderEdge.TOP, 1.0);
cell.setBorderColor(BorderEdge.LEFT, new Color(0, 0, 0));
cell.setBorderWidth(BorderEdge.LEFT, 1.0);
cell.setBorderColor(BorderEdge.RIGHT, new Color(0, 0, 0));
cell.setBorderWidth(BorderEdge.RIGHT, 1.0);
}
}
}
}
slide.createTable();
দিয়ে একটি নতুন টেবিল তৈরি করা হয়েছে।table.setAnchor(new java.awt.Rectangle(50, 50, 500, 200));
দিয়ে টেবিলের অবস্থান এবং আকার সেট করা হয়েছে।table.addRow();
এবং কলাম তৈরি করতে row.addCell();
ব্যবহার করা হয়েছে।cell.setText("Header 1");
দিয়ে প্রতিটি সেলে টেক্সট যোগ করা হয়েছে।XSLFTextRun
ব্যবহার করে টেক্সটের ফন্ট সাইজ, ফন্ট ফ্যামিলি এবং বোল্ড করা হয়েছে।cell.setFillColor(new Color(210, 210, 255));
দিয়ে সেলের ব্যাকগ্রাউন্ড রঙ হালকা নীল করা হয়েছে।cell.setBorderColor()
এবং cell.setBorderWidth()
দিয়ে সেলের চারপাশে কালো বর্ডার এবং প্রস্থ সেট করা হয়েছে।new Color(210, 210, 255)
হালকা নীল রঙ।Apache POI ব্যবহার করে PowerPoint ফাইলে টেবিল তৈরি এবং ফরম্যাটিং করা অনেক সহজ। টেবিলের সেলগুলোতে বর্ডার, ব্যাকগ্রাউন্ড রঙ এবং টেক্সট ফরম্যাটিং কাস্টমাইজ করতে পারবেন। এই প্রক্রিয়া আপনাকে পেশাদার প্রেজেন্টেশন তৈরি করতে সাহায্য করে। XSLFTable
, XSLFTableRow
, এবং XSLFTableCell
ক্লাসের মাধ্যমে আপনি সহজেই টেবিলের সেলগুলোকে সাজাতে এবং ফরম্যাট করতে পারবেন।
common.read_more